#ifndef _TURTLE_H__
#define _TURTLE_H__

#include "Angel.h"
using namespace std;

class Turtle
{
public:
	Turtle(string ts);
	char getCommand();
	bool isEnd();
	int getIndex();//for test
	void setPosition(point3 pos);
	point3 getPosition();
	point3 getDirection();
	void forward(int len);
	void rotateX(float angle);
	void rotateY(float angle);
	void rotateZ(float angle);
	void turnAround();
	void pushState();
	void popState();

private:
	point3 position;
	point3 direction;
	stack<pair<point3,point3>> stateStack;//position, direction
	int Index;
	string turtleString;
};

#endif